package com.lovo.stock.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lovo.stock.bean.PageInfo;
import com.lovo.stock.bean.UserBean;

import java.util.List;

/**
 * 用户服务类
 */
public interface IUserService {
    /**
     * 分页查询用户信息
     * @param pageInfo
     * @return
     */
    IPage<UserBean> queryUserByPage(PageInfo<UserBean> pageInfo);

    /**
     * 根据id查询用户信息
     * @param userId
     * @return
     */
    UserBean queryUserById(int userId);

    /**
     * 查询用户
     * @param userBean
     * @return
     */
    UserBean queryUser(UserBean userBean);

    /**
     * 新增用户(改用户表和中间表)
     * @param userBean
     */
    void addUser(UserBean userBean, List<Integer> roleIds);

    /**
     * 删除用户(需要删除用户角色中间表)
     * @param id
     */
    void deleteUser(int id);

    /**
     * 修改用户所属角色(修改用户权限是先清空用户所有权限，再重新添加)
     */
    void updateUser(List<Integer> roleIds,int userId);

    /**
     * 修改用户（密码）
     */
    boolean updateUserPassword(UserBean oldUser,UserBean newUser);
}
